package com.meihuayishu.backend.dto;

import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import io.swagger.v3.oas.annotations.media.Schema;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.Max;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "数字起卦请求V2")
public class NumberDivinationRequestV2 {
    
    @NotBlank(message = "占卜问题不能为空")
    @Size(max = 200, message = "占卜问题不能超过200字符")
    @Schema(description = "占卜问题", example = "今年的事业发展怎么样？")
    private String question;
    
    @NotNull(message = "数字列表不能为空")
    @Size(min = 1, max = 2, message = "需要提供1-2个数字")
    @Schema(description = "数字列表", example = "[123, 456]")
    private List<@Min(value = 1, message = "数字不能小于1") @Max(value = 999, message = "数字不能大于999") Integer> numbers;
    
    @Schema(description = "算法类型", allowableValues = {"TRADITIONAL", "MODERN"}, example = "TRADITIONAL")
    private String algorithm = "TRADITIONAL";
}